package com.cqs.leetcode.tree;

import com.cqs.leetcode.TreeNode;

/**
 * @author lixiaowen
 * @create 2019-12-16
 */
public class KthSmallestElementinaBST230 {

    private int result, cnt = 0;
    public int kthSmallest(TreeNode root, int k) {
        cnt = k;
        traversal(root);
        return result;
    }

    /**
     * 不要将result和cnt 作为形参传递进行
     * 字面量是拷贝 不是引用
     *
     * @param root
     */
    private void traversal(final TreeNode root){
        //结束
        if (root == null || cnt <= 0) return;
        traversal(root.left);
        if(--cnt ==0)     result = root.val;
        traversal(root.right);
    }
}
